import axios from 'axios';
import qs from 'qs';

// 创建实例对象
var instance = axios.create({
    baseURL: process.env.VUE_APP_BASEURL,//设置基础请求路径，根据环境自动配置
    timeout: 5000,//设置超时时间
});

// 设置请求拦截
instance.interceptors.request.use(config => {
    // 请求前做的事情
    console.log("进行了请求拦截", config)
    return config
}, error => {
    return Promise.reject(error);
})

// 设置返回拦截
instance.interceptors.response.use(response => {
    console.log("进行响应拦截")
    return response
}, error => {
    // 对响应错误做点什么
    return Promise.reject(error);
})
/**
 * 说明：简化get请求函数
 * @param {*} url 
 * @param {*} params 
 */
const getRequest = function (url, params = {}) {
    console.log("+++请求++", url)
    if (!url)
        return
    return instance.request({
        url,
        method: "get",
        params
    })
}
/**
 * 说明：简化post请求的方式
 * @param {*} url 
 * @param {*} data 
 */
const postRequet = function (url, data = {}) {
    if (!url)
        return
    console.log(data)
    return instance.request({
        url: url,
        method: "post",
        data: qs.stringify(data)
    })
}

export default {
    instance,
    getRequest,
    postRequet
}